1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-07-17 01:12:45 +02:00

Rename the exporter directory to exporters (#502)

The `go.opentelemetry.io/otel/exporter/trace/jaeger` package was
mistakenly released with a `v1.0.0` tag instead of `v0.1.0`. This
resulted in all subsequent releases not becoming the default latest,
meaning that `go get`s pulled in the incompatible `v0.1.0` release of
that package when pulling in more recent packages from other otel
packages. Renaming the `exporter` directory to `exporters` fixes this
issue by consequentially renaming the package.

Additionally, this action also renames *all* exporters. This is
understood to be a disruptive action to existing users as they will need
to update any dependencies they currently have on our exporters.
However, it was decided to take this action regardless. The need to
resolve the existing issue explained above is highly important, and
given the Alpha state of this project these kinds of breaking changes
should be expected (though not without reason).

Resolves #331

Co-authored-by: Rahul Patel <rghetia@yahoo.com>
This commit is contained in:
Tyler Yahn
2020-03-02 13:54:57 -08:00
committed by GitHub
parent 7a0e1c8eda
commit 52fb033e13
57 changed files with 51 additions and 51 deletions

View File

@ -35,7 +35,7 @@ import (
"log" "log"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/exporter/trace/stdout" "go.opentelemetry.io/otel/exporters/trace/stdout"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -12,7 +12,7 @@ import (
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/global/internal" "go.opentelemetry.io/otel/api/global/internal"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/exporter/metric/stdout" "go.opentelemetry.io/otel/exporters/metric/stdout"
metrictest "go.opentelemetry.io/otel/internal/metric" metrictest "go.opentelemetry.io/otel/internal/metric"
) )

View File

@ -23,8 +23,8 @@ import (
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/metric" "go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
metricstdout "go.opentelemetry.io/otel/exporter/metric/stdout" metricstdout "go.opentelemetry.io/otel/exporters/metric/stdout"
tracestdout "go.opentelemetry.io/otel/exporter/trace/stdout" tracestdout "go.opentelemetry.io/otel/exporters/trace/stdout"
"go.opentelemetry.io/otel/sdk/metric/controller/push" "go.opentelemetry.io/otel/sdk/metric/controller/push"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -18,7 +18,7 @@ import (
"log" "log"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/exporter/trace/stdout" "go.opentelemetry.io/otel/exporters/trace/stdout"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -30,7 +30,7 @@ import (
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/exporter/trace/stackdriver" "go.opentelemetry.io/otel/exporters/trace/stackdriver"
"go.opentelemetry.io/otel/plugin/httptrace" "go.opentelemetry.io/otel/plugin/httptrace"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -4,11 +4,11 @@ go 1.13
replace ( replace (
go.opentelemetry.io/otel => ../.. go.opentelemetry.io/otel => ../..
go.opentelemetry.io/otel/exporter/trace/stackdriver => ../../exporter/trace/stackdriver go.opentelemetry.io/otel/exporters/trace/stackdriver => ../../exporters/trace/stackdriver
) )
require ( require (
go.opentelemetry.io/otel v0.2.1 go.opentelemetry.io/otel v0.2.1
go.opentelemetry.io/otel/exporter/trace/stackdriver v0.2.1 go.opentelemetry.io/otel/exporters/trace/stackdriver v0.2.1
google.golang.org/grpc v1.24.0 google.golang.org/grpc v1.24.0
) )

View File

@ -23,7 +23,7 @@ import (
"go.opentelemetry.io/otel/api/correlation" "go.opentelemetry.io/otel/api/correlation"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/exporter/trace/stackdriver" "go.opentelemetry.io/otel/exporters/trace/stackdriver"
"go.opentelemetry.io/otel/plugin/httptrace" "go.opentelemetry.io/otel/plugin/httptrace"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -29,7 +29,7 @@ import (
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/exporter/trace/stdout" "go.opentelemetry.io/otel/exporters/trace/stdout"
"go.opentelemetry.io/otel/plugin/httptrace" "go.opentelemetry.io/otel/plugin/httptrace"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -22,7 +22,7 @@ import (
"go.opentelemetry.io/otel/api/correlation" "go.opentelemetry.io/otel/api/correlation"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/exporter/trace/stdout" "go.opentelemetry.io/otel/exporters/trace/stdout"
"go.opentelemetry.io/otel/plugin/httptrace" "go.opentelemetry.io/otel/plugin/httptrace"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -4,10 +4,10 @@ go 1.13
replace ( replace (
go.opentelemetry.io/otel => ../.. go.opentelemetry.io/otel => ../..
go.opentelemetry.io/otel/exporter/trace/jaeger => ../../exporter/trace/jaeger go.opentelemetry.io/otel/exporters/trace/jaeger => ../../exporters/trace/jaeger
) )
require ( require (
go.opentelemetry.io/otel v0.2.1 go.opentelemetry.io/otel v0.2.1
go.opentelemetry.io/otel/exporter/trace/jaeger v0.2.1 go.opentelemetry.io/otel/exporters/trace/jaeger v0.2.1
) )

View File

@ -24,7 +24,7 @@ import (
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/exporter/trace/jaeger" "go.opentelemetry.io/otel/exporters/trace/jaeger"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -23,7 +23,7 @@ import (
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/example/namedtracer/foo" "go.opentelemetry.io/otel/example/namedtracer/foo"
"go.opentelemetry.io/otel/exporter/trace/stdout" "go.opentelemetry.io/otel/exporters/trace/stdout"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -4,10 +4,10 @@ go 1.13
replace ( replace (
go.opentelemetry.io/otel => ../.. go.opentelemetry.io/otel => ../..
go.opentelemetry.io/otel/exporter/metric/prometheus => ../../exporter/metric/prometheus go.opentelemetry.io/otel/exporters/metric/prometheus => ../../exporters/metric/prometheus
) )
require ( require (
go.opentelemetry.io/otel v0.2.1 go.opentelemetry.io/otel v0.2.1
go.opentelemetry.io/otel/exporter/metric/prometheus v0.2.1 go.opentelemetry.io/otel/exporters/metric/prometheus v0.2.1
) )

View File

@ -23,7 +23,7 @@ import (
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/metric" "go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/exporter/metric/prometheus" "go.opentelemetry.io/otel/exporters/metric/prometheus"
"go.opentelemetry.io/otel/sdk/metric/controller/push" "go.opentelemetry.io/otel/sdk/metric/controller/push"
) )

View File

@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package dogstatsd // import "go.opentelemetry.io/otel/exporter/metric/dogstatsd" package dogstatsd // import "go.opentelemetry.io/otel/exporters/metric/dogstatsd"
import ( import (
"bytes" "bytes"
"time" "time"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/exporter/metric/internal/statsd" "go.opentelemetry.io/otel/exporters/metric/internal/statsd"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/metric/batcher/ungrouped" "go.opentelemetry.io/otel/sdk/metric/batcher/ungrouped"

View File

@ -24,9 +24,9 @@ import (
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/exporter/metric/dogstatsd" "go.opentelemetry.io/otel/exporters/metric/dogstatsd"
"go.opentelemetry.io/otel/exporter/metric/internal/statsd" "go.opentelemetry.io/otel/exporters/metric/internal/statsd"
"go.opentelemetry.io/otel/exporter/metric/test" "go.opentelemetry.io/otel/exporters/metric/test"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
sdk "go.opentelemetry.io/otel/sdk/metric" sdk "go.opentelemetry.io/otel/sdk/metric"
"go.opentelemetry.io/otel/sdk/metric/aggregator/counter" "go.opentelemetry.io/otel/sdk/metric/aggregator/counter"

View File

@ -10,7 +10,7 @@ import (
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/metric" "go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/exporter/metric/dogstatsd" "go.opentelemetry.io/otel/exporters/metric/dogstatsd"
) )
func ExampleNew() { func ExampleNew() {

View File

@ -27,8 +27,8 @@ import (
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/unit" "go.opentelemetry.io/otel/api/unit"
"go.opentelemetry.io/otel/exporter/metric/internal/statsd" "go.opentelemetry.io/otel/exporters/metric/internal/statsd"
"go.opentelemetry.io/otel/exporter/metric/test" "go.opentelemetry.io/otel/exporters/metric/test"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
sdk "go.opentelemetry.io/otel/sdk/metric" sdk "go.opentelemetry.io/otel/sdk/metric"
) )

View File

@ -21,7 +21,7 @@ import (
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/exporter/metric/internal/statsd" "go.opentelemetry.io/otel/exporters/metric/internal/statsd"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
sdk "go.opentelemetry.io/otel/sdk/metric" sdk "go.opentelemetry.io/otel/sdk/metric"
) )

View File

@ -4,5 +4,5 @@ OpenTelemetry Prometheus exporter
## Installation ## Installation
``` ```
go get -u go.opentelemetry.io/otel/exporter/metric/prometheus go get -u go.opentelemetry.io/otel/exporters/metric/prometheus
``` ```

View File

@ -1,4 +1,4 @@
module go.opentelemetry.io/otel/exporter/metric/prometheus module go.opentelemetry.io/otel/exporters/metric/prometheus
go 1.13 go 1.13

View File

@ -12,8 +12,8 @@ import (
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/exporter/metric/prometheus" "go.opentelemetry.io/otel/exporters/metric/prometheus"
"go.opentelemetry.io/otel/exporter/metric/test" "go.opentelemetry.io/otel/exporters/metric/test"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/metric" "go.opentelemetry.io/otel/sdk/metric"
) )

View File

@ -7,7 +7,7 @@ import (
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/metric" "go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/exporter/metric/stdout" "go.opentelemetry.io/otel/exporters/metric/stdout"
) )
func ExampleNewExportPipeline() { func ExampleNewExportPipeline() {

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package stdout // import "go.opentelemetry.io/otel/exporter/metric/stdout" package stdout // import "go.opentelemetry.io/otel/exporters/metric/stdout"
import ( import (
"context" "context"

View File

@ -12,8 +12,8 @@ import (
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/exporter/metric/stdout" "go.opentelemetry.io/otel/exporters/metric/stdout"
"go.opentelemetry.io/otel/exporter/metric/test" "go.opentelemetry.io/otel/exporters/metric/test"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/export/metric/aggregator" "go.opentelemetry.io/otel/sdk/export/metric/aggregator"
sdk "go.opentelemetry.io/otel/sdk/metric" sdk "go.opentelemetry.io/otel/sdk/metric"

View File

@ -4,5 +4,5 @@ OpenTelemetry Jaeger exporter
## Installation ## Installation
``` ```
go get -u go.opentelemetry.io/otel/exporter/trace/jaeger go get -u go.opentelemetry.io/otel/exporters/trace/jaeger
``` ```

View File

@ -21,7 +21,7 @@ import (
"github.com/apache/thrift/lib/go/thrift" "github.com/apache/thrift/lib/go/thrift"
gen "go.opentelemetry.io/otel/exporter/trace/jaeger/internal/gen-go/jaeger" gen "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
) )
// udpPacketMaxLength is the max size of UDP packet we want to send, synced with jaeger-agent // udpPacketMaxLength is the max size of UDP packet we want to send, synced with jaeger-agent

View File

@ -13,4 +13,4 @@
// limitations under the License. // limitations under the License.
// Package jaeger contains an OpenTelemetry tracing exporter for Jaeger. // Package jaeger contains an OpenTelemetry tracing exporter for Jaeger.
package jaeger // import "go.opentelemetry.io/otel/exporter/trace/jaeger" package jaeger // import "go.opentelemetry.io/otel/exporters/trace/jaeger"

View File

@ -1,4 +1,4 @@
module go.opentelemetry.io/otel/exporter/trace/jaeger module go.opentelemetry.io/otel/exporters/trace/jaeger
go 1.13 go 1.13

View File

@ -16,7 +16,7 @@ import (
"github.com/apache/thrift/lib/go/thrift" "github.com/apache/thrift/lib/go/thrift"
"go.opentelemetry.io/otel/exporter/trace/jaeger/internal/gen-go/jaeger" "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
) )
func Usage() { func Usage() {

View File

@ -1,7 +1,7 @@
// Autogenerated by Thrift Compiler (0.11.0) // Autogenerated by Thrift Compiler (0.11.0)
// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
package jaeger // import "go.opentelemetry.io/otel/exporter/trace/jaeger/internal/gen-go/jaeger" package jaeger // import "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
import ( import (
"bytes" "bytes"

View File

@ -23,7 +23,7 @@ import (
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
gen "go.opentelemetry.io/otel/exporter/trace/jaeger/internal/gen-go/jaeger" gen "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
export "go.opentelemetry.io/otel/sdk/export/trace" export "go.opentelemetry.io/otel/sdk/export/trace"
) )

View File

@ -33,7 +33,7 @@ import (
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
gen "go.opentelemetry.io/otel/exporter/trace/jaeger/internal/gen-go/jaeger" gen "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
export "go.opentelemetry.io/otel/sdk/export/trace" export "go.opentelemetry.io/otel/sdk/export/trace"
) )

View File

@ -10,7 +10,7 @@ import (
"github.com/apache/thrift/lib/go/thrift" "github.com/apache/thrift/lib/go/thrift"
gen "go.opentelemetry.io/otel/exporter/trace/jaeger/internal/gen-go/jaeger" gen "go.opentelemetry.io/otel/exporters/trace/jaeger/internal/gen-go/jaeger"
) )
// batchUploader send a batch of spans to Jaeger // batchUploader send a batch of spans to Jaeger

View File

@ -1,4 +1,4 @@
module go.opentelemetry.io/otel/exporter/trace/stackdriver module go.opentelemetry.io/otel/exporters/trace/stackdriver
go 1.13 go 1.13

View File

@ -31,7 +31,7 @@ import (
"google.golang.org/grpc" "google.golang.org/grpc"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/exporter/trace/stackdriver" "go.opentelemetry.io/otel/exporters/trace/stackdriver"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -80,7 +80,7 @@ func (e *traceExporter) uploadSpans(ctx context.Context, spans []*tracepb.Span)
// tracer := apitrace.Register() // tracer := apitrace.Register()
// ctx, span := tracer.Start( // ctx, span := tracer.Start(
// ctx, // ctx,
// "go.opentelemetry.io/otel/exporter/stackdriver.uploadSpans", // "go.opentelemetry.io/otel/exporters/stackdriver.uploadSpans",
// ) // )
// defer span.End() // defer span.End()
// span.SetAttributes(key.New("num_spans").Int64(int64(len(spans)))) // span.SetAttributes(key.New("num_spans").Int64(int64(len(spans))))

View File

@ -13,4 +13,4 @@
// limitations under the License. // limitations under the License.
// Package stdout contains an OpenTelemetry tracing exporter for writing to stdout. // Package stdout contains an OpenTelemetry tracing exporter for writing to stdout.
package stdout // import "go.opentelemetry.io/otel/exporter/trace/stdout" package stdout // import "go.opentelemetry.io/otel/exporters/trace/stdout"

View File

@ -25,7 +25,7 @@ import (
"go.opentelemetry.io/otel/api/core" "go.opentelemetry.io/otel/api/core"
"go.opentelemetry.io/otel/api/global" "go.opentelemetry.io/otel/api/global"
"go.opentelemetry.io/otel/api/trace" "go.opentelemetry.io/otel/api/trace"
"go.opentelemetry.io/otel/exporter/trace/stdout" "go.opentelemetry.io/otel/exporters/trace/stdout"
"go.opentelemetry.io/otel/plugin/othttp" "go.opentelemetry.io/otel/plugin/othttp"
sdktrace "go.opentelemetry.io/otel/sdk/trace" sdktrace "go.opentelemetry.io/otel/sdk/trace"
) )

View File

@ -25,7 +25,7 @@ import (
"github.com/benbjohnson/clock" "github.com/benbjohnson/clock"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/exporter/metric/test" "go.opentelemetry.io/otel/exporters/metric/test"
export "go.opentelemetry.io/otel/sdk/export/metric" export "go.opentelemetry.io/otel/sdk/export/metric"
"go.opentelemetry.io/otel/sdk/export/metric/aggregator" "go.opentelemetry.io/otel/sdk/export/metric/aggregator"
sdk "go.opentelemetry.io/otel/sdk/metric" sdk "go.opentelemetry.io/otel/sdk/metric"

View File

@ -21,7 +21,7 @@ import (
"go.opentelemetry.io/otel/api/key" "go.opentelemetry.io/otel/api/key"
"go.opentelemetry.io/otel/api/metric" "go.opentelemetry.io/otel/api/metric"
"go.opentelemetry.io/otel/exporter/metric/stdout" "go.opentelemetry.io/otel/exporters/metric/stdout"
) )
func ExampleNew() { func ExampleNew() {